package com.tinet.sistReserva.DAO;

import java.util.ArrayList;

import javax.ejb.Remote;

import com.tinet.sistReserva.model.Sala;

/**
 * 
 * Interfaz que define los metodos a implementar por la clase SalaDao.
 * 
 * @author Frmancil
 */
@Remote
public interface InterfazSalaDao {
    /**
     * Recibe del bean una sala y la agrega a la base de datos.
     * 
     * @param nuevaSala
     *            Es el objeto sala que recibe el metodo y agrega a la base de
     *            datos.
     */
    void agregar(Sala nuevaSala);

    /**
     * Recibe del bean una sala y la elimina de la base de datos.
     * 
     * @param salaAEliminar
     *            Es el objeto sala que recibe el metodo, para buscarlo y
     *            eliminarlo de la base de datos.
     */
    void eliminar(Sala salaAEliminar);

    /**
     * Recibe del bean un usuario y lo actualiza a la base de datos.
     * 
     * @param salaAActualizar
     *            Es el objeto sala que recibe el metodo, para buscarlo y
     *            actualizar sus datos.
     */
    void actualizar(Sala salaAActualizar);

    /**
     * Recibe del bean un String con el atributo username y lee sus atributos
     * desde la base de datos.
     * 
     * @param salaABuscar
     *            Objeto tipo sala que se busca en la base de datos.
     * @return Sala encontrada es retornada para desplegar sus datos.
     */
    Sala buscar(Sala salaABuscar);

    /**
     * Metodo que retorna la lista de todas las salas.
     * 
     * @return Retorna una lista con todas las salas de la base de datos.
     */
    ArrayList<Sala> listar();
}
